Skip to content

[airflow-ctl/v0-1-test] Bump datamodel-code-generator pin from 0.33.0 to 0.41.0 (#69854) - #70201

Merged
potiuk merged 1 commit into
airflow-ctl/v0-1-testfrom
backport-15a4478-airflow-ctl/v0-1-test
Jul 30, 2026
Merged

[airflow-ctl/v0-1-test] Bump datamodel-code-generator pin from 0.33.0 to 0.41.0 (#69854)#70201
potiuk merged 1 commit into
airflow-ctl/v0-1-testfrom
backport-15a4478-airflow-ctl/v0-1-test

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

The pin was stuck at 0.33.0 because later releases change how
use-default interacts with nullable/optional fields. Versions 0.42.2
through at least 0.67.0 widen JsonValue-backed fields to
JsonValue | None, and 0.57.0+ additionally drops the = None default
from nullable-optional fields, turning ~200 fields in the Task SDK
Execution API client and the airflow-ctl API client from optional
into required -- a breaking Pydantic v2 model-contract change.

0.41.0 is the newest release that still regenerates both clients with
a diff limited to the generator version-comment line (plus one benign
RootModel[list] -> RootModel[list[Any]] typing improvement in
airflow-ctl's generated.py), so it unblocks the dependency without
carrying either regression forward.

Closes the datamodel-code-generator item from #69616.
(cherry picked from commit 15a4478)

Co-authored-by: hkr 104939283+harishkesavarao@users.noreply.github.com

… to 0.41.0 (#69854)

The pin was stuck at 0.33.0 because later releases change how
use-default interacts with nullable/optional fields. Versions 0.42.2
through at least 0.67.0 widen JsonValue-backed fields to
JsonValue | None, and 0.57.0+ additionally drops the = None default
from nullable-optional fields, turning ~200 fields in the Task SDK
Execution API client and the airflow-ctl API client from optional
into required -- a breaking Pydantic v2 model-contract change.

0.41.0 is the newest release that still regenerates both clients with
a diff limited to the generator version-comment line (plus one benign
RootModel[list] -> RootModel[list[Any]] typing improvement in
airflow-ctl's generated.py), so it unblocks the dependency without
carrying either regression forward.

Closes the datamodel-code-generator item from #69616.
(cherry picked from commit 15a4478)

Co-authored-by: hkr <104939283+harishkesavarao@users.noreply.github.com>
@potiuk
potiuk marked this pull request as ready for review July 28, 2026 13:47
@potiuk
potiuk merged commit 81cf6c8 into airflow-ctl/v0-1-test Jul 30, 2026
2 checks passed
@potiuk
potiuk deleted the backport-15a4478-airflow-ctl/v0-1-test branch July 30, 2026 09:59

@potiuk potiuk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean backport — the changed-file set matches #69854 on main exactly (airflow-ctl/pyproject.toml, both generated datamodel files, task-sdk/pyproject.toml, _generated.py, uv.lock), and the regenerated headers correctly record version: 0.41.0. CI green. Carries the datamodel-code-generator bump onto the release branch, which is what we want.


Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants